(make_frame_visible): At end, wait till Emacs sees frame is visible.
authorRichard M. Stallman <rms@gnu.org>
Sat, 18 Jun 1994 18:57:39 +0000 (18:57 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 18 Jun 1994 18:57:39 +0000 (18:57 +0000)
src/xterm.c

index d940d3c84b8a139419f09eafaaedf0e50297a11b..9ab6c0bce5589715431fa42b7b179be77c730262 100644 (file)
@@ -5567,6 +5567,17 @@ x_make_frame_visible (f)
   XFlushQueue ();
 
   UNBLOCK_INPUT;
+
+  /* Synchronize to ensure Emacs knows the frame is visible
+     before we do anything else.  We do this loop with input not blocked
+     so that incoming events are handled.  */
+  {
+    Lisp_Object frame;
+    XSET (frame, Lisp_Frame, f);
+    while (! f->async_visible)
+      x_sync (frame);
+    FRAME_SAMPLE_VISIBILITY (f);
+  }
 }
 
 /* Change from mapped state to withdrawn state. */